package com.yichi.manager;

import android.content.Context;
import android.content.SharedPreferences;
import android.widget.Toast;

import java.io.File;

/**
 * 保存到本地的配置文件
 */
public class SpManager {

    private static String FILLNAME = "config";// 文件名称

    private SharedPreferences sharedPreferences;
    private SharedPreferences.Editor editor;

    public void init(Context context) {
        //这里初始化Android提供的SharedPreferences类，也是不用创建，直接获取，如果有这个文件则不需要创建返回对象，如没有，直接创建
        sharedPreferences = context.getSharedPreferences(FILLNAME, Context.MODE_PRIVATE);
        editor = sharedPreferences.edit();
    }

    /**
     *删除此配置文件
     * @param context
     */
    public void delete(Context context)  {
        File file = new File("/data/data/" + context.getPackageName().toString() + "/shared_prefs", FILLNAME);
        if(file.exists()){
            file.delete();
            Toast.makeText(context, "删除配置文件成功！！！", Toast.LENGTH_SHORT).show();
        }
    }

    /**
     * SharedPreferences常用的10个操作方法
     */
    public void putBoolean(String key, boolean value) {
        editor.putBoolean(key, value).apply();
    }

    public boolean getBoolean(String key, boolean defValue) {
        return sharedPreferences.getBoolean(key, defValue);
    }

    public void putString(String key, String value) {
        editor.putString(key, value).apply();
    }

    public String getString(String key, String defValue) {
        return sharedPreferences.getString(key, defValue);
    }

    public void putInt(String key, int value) {
        editor.putInt(key, value).apply();
    }

    public int getInt(String key, int defValue) {
        return sharedPreferences.getInt(key, defValue);
    }

    /**
     * 移除某个key值已经对应的值
     */
    public void remove(String key) {
        editor.remove(key).apply();
    }

    /**
     * 清除所有内容
     */
    public void clear() {
        editor.clear().apply();
    }

}
